Java Flowpaths: Efficiently Generating Circuits for Embedded Systems from Java
نویسندگان
چکیده
The performance of software executed on a microprocessor is adversely affected by the basic fetchexecute cycle. A further performance penalty results from the load-execute-store paradigm associated with the use of local variables in most high-level languages. This paper describes creating Java flowpaths, a general method of generating hardware directly from Java bytecodes that support basic operations, class instantiation, events, and multi-threaded applications. Performance increases occur because flowpaths created from Java programs require zero clock cycles for load, stack manipulation, and class instantiation operations. In addition, multithreaded flowpaths do not suffer from traditional processor bottlenecks such as context switching, stack manipulation and the traditional load, execute and store operation. Results show that these improvements yield several orders of magnitude improvement in terms of speed for both sequential and multithreaded programs.
منابع مشابه
Implementing Software Programs in FPGAs Using Flowpaths
Embedded systems design often involves writing code in high-level languages such as C/C++ and Java and optimizing using Assembly while minimizing design time. Equally important is the choice of the execution target. Among these microprocessor targets are microprocessor cores for FPGAs. These cores are useful for applications that also contain application-specific hardware implemented on the FPG...
متن کاملGenerating Hardware from Java Using Self - Propagating Flowpaths
The performance of software executed on a microprocessor is adversely affected by the basic fetch-execute cycle. A further performance penalty results from the loadexecute-store paradigm associated with the use of local variables in most high-level languages. Implementing a software algorithm directly in hardware such as on an FPGA can alleviate these performance penalties. Such implementations...
متن کاملFlexible Embedded System Design Using Flowpaths
A typical hardware system can be segmented into components that each define a specific task. Components could be divided among a design team for creation, acquired from another source in the form of legacy work, or an IP core. A finalized system could be composed of several heterogeneous components. Proper integration of these components can often be complex and time consuming for designers. Av...
متن کاملExecuting large algorithms on low-capacity FPGAs using flowpath partitioning and runtime reconfiguration
This paper describes a new method of executing a software program on an FPGA for embedded systems. Rather than combine reconfigurable logic with a microprocessor core, this method uses a new technique to compile Java programs directly to special-purpose processors that are called “flowpaths”. Flowpaths allow a software program to be executed in such a way that one low-capacity FPGA is executing...
متن کاملFlowpaths: Compiling stack-based IR to hardware
The performance of software executed on a microprocessor is adversely affected by the basic fetch-execute cycle. A further performance penalty results from the load-execute-store paradigm associated with the use of local variables in most high-level languages. Implementing the software algorithm directly in hardware such as on an FPGA can alleviate these performance penalties. Such implementati...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006